p 1 << 30
p 1 << 31
p 1 << 32
p 1 << 33

#                          
p 0b01000000_00000000_00000000_00000000 << 1
p 0b00100000_00000000_00000000_00000000 << 1
p 0b00100000_00000000_00000000_00000000 << 2
p 0b00000000_00000000_10000000_00000000 << 14
p 0b00000000_00000000_10000000_00000000 << 15
p 0b00000000_00000000_10000000_00000000 << 16
p 0b00000000_00000000_10000000_00000000 << 17

p (-1) << 1
p (-1) << 2
p (-1) << 3
p (-1) << 29
p (-1) << 31
p (-1) << 32
p (-1) << 33
p (-1) << 34

p (-0b01000000_00000000_00000000_00000000) << 1
p (-0b00100000_00000000_00000000_00000000) << 1
p (-0b00100000_00000000_00000000_00000000) << 2
p (-0b00000000_00000000_10000000_00000000) << 14
p (-0b00000000_00000000_10000000_00000000) << 15
p (-0b00000000_00000000_10000000_00000000) << 16
p (-0b00000000_00000000_10000000_00000000) << 17

p r = [192,168,1,1].inject(0) { |n,i| (n <<= 8) + i }
p r.class
p r.size
